import {IEseData} from "./IEseData";
import {IPrfData} from "./IPrfData";
import {ISctData} from "./ISctData";
import {IAirlineIcaoData} from "./IAirlineIcaoData";
import {IAirportIcaoData} from "./IAirportIcaoData";
import {IAircraftIcaoData} from "./IAircraftIcaoData";
import {ISymbolConfig} from "./ISymbolConfig";
import {ISymbolDrawer} from "./ISymbolDrawer";
import {IVatsimData} from "./IVatsimData";
import {IAsrData} from "./IAsrData";

export interface IRadarRenderData {
    asr: Map<string, IAsrData>;
    ese: IEseData;
    prf: Map<string, IPrfData>;
    sct: ISctData;
    airlineIcaoData: Map<string, IAirlineIcaoData>;
    airportIcaoData: Map<string, IAirportIcaoData>;
    aircraftIcaoData: Map<string, IAircraftIcaoData>;
    /**
     * key为SymbolConfig.group-SymbolConfig.type
     */
    symbols: Map<string, ISymbolConfig>;
    airportSymbolDrawer: ISymbolDrawer;
    ndbSymbolDrawer: ISymbolDrawer;
    vorpalSymbolDrawer: ISymbolDrawer;
    fixSymbolDrawer: ISymbolDrawer;
    aStandbySymbolDrawer: ISymbolDrawer;
    aPrimaryRadarOnlySymbolDrawer: ISymbolDrawer;
    aCorrACModeSecRadarOnlySymbolDrawer: ISymbolDrawer;
    aCorrSModeSecRadarOnlySymbolDrawer: ISymbolDrawer;
    aCorrPrimAndACModeSecSymbolDrawer: ISymbolDrawer;
    aCorrPrimAndSModeSecSymbolDrawer: ISymbolDrawer;
    aCorrACModeIndentingSymbolDrawer: ISymbolDrawer;
    aCorrSModeIndentingSymbolDrawer: ISymbolDrawer;
    aFlightPlanTrackSymbolDrawer: ISymbolDrawer;
    aCoastingSymbolDrawer: ISymbolDrawer;
    historyDotSymbolDrawer: ISymbolDrawer;
    groundAircraftSymbolDrawer: ISymbolDrawer;
    aUnCorrACModeSecRadarOnlySymbolDrawer: ISymbolDrawer;
    aUnCorrSModeSecRadarOnlySymbolDrawer: ISymbolDrawer;
    aUnCorrPrimAndACModeSecSymbolDrawer: ISymbolDrawer;
    aUnCorrPrimAndSModeSecSymbolDrawer: ISymbolDrawer;
    aUnCorrACModeIndentingSymbolDrawer: ISymbolDrawer;
    aUnCorrSModeIndentingSymbolDrawer: ISymbolDrawer;
    groundVehicleSymbolDrawer: ISymbolDrawer;
    groundRotorcraftSymbolDrawer: ISymbolDrawer;
    vatsimData: IVatsimData;
}